Many computer operating systems are configured to support multiple recognized users. In such systems, a unique user profile including user profile data is typically created and maintained for each user. User profile data may include system files, display preferences and images (e.g., display settings, screen colors, screen background images, icons, desktop shortcuts), permissions settings, application data, user-specific registry keys, network and printer connection settings, hardware (e.g., keyboard and mouse) settings, and any user files (e.g., photos, audio files, text documents, etc.) included in a user's profile directory. It is not uncommon for a user profile to be quite large and require significant computing resources to store and copy.
When a user logs on to such an operating system, a conventional copy process is called and executed to copy the user profile data associated with the user's profile from where it is maintained to one or more target locations (e.g. a local computing device, cache, or other data store) to make the user profile data available to the operating system, applications running on the operating system, and/or the user. Traditionally, the operating system, applications running on the operating system, and/or the user are forced to wait for the copy process to fully copy all of the user profile data associated with a user profile before certain computing operations can be performed. For example, a desktop view associated with the user profile will not be displayed until the copy process has finished copying all of the user profile data in a user profile and signaled that the copying is completed. Unfortunately, fully copying the user profile data can lead to slow and significantly delayed user logon experiences, especially when the user profile includes a large amount of user profile data and/or when copying the user profile data includes transmission over a network connection.
When the user logs off of the operating system, the previously copied user profile data and any changes to the copied user profile data are copied in the reverse direction in order to propagate any updates made to the copied user profile data to the stored user profile data. Again, the conventional copy process will fully copy all of the user profile data before other computing operations can be performed. This can cause slow and delayed user logoff experiences, especially when the user profile includes a large amount of user profile data.